package cn.hyatt.auth.dto.systemDept;

import cn.hyatt.common.utils.DateTimeUtil;
import cn.hyatt.core.dto.PageableDto;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

import java.io.Serial;
import java.time.LocalDateTime;

/**
 * 部门查询DTO
 *
 * @author hyatt
 */
@Getter
@Setter
@Schema(name = "部门查询DTO")
public class SystemDeptFindDto extends PageableDto {
    @Serial
    private static final long serialVersionUID = 42L;

    @Schema(description = "创建者")
    private Long createBy;

    @JsonFormat(pattern = DateTimeUtil.COMMON_DATE_TIME_FORM)
    @Schema(description = "创建时间")
    private LocalDateTime createTime;

    @Schema(description = "更新者")
    private Long updateBy;

    @JsonFormat(pattern = DateTimeUtil.COMMON_DATE_TIME_FORM)
    @Schema(description = "更新时间")
    private LocalDateTime updateTime;

    @Schema(description = "上级部门")
    private Long parentId;

    @Schema(description = "部门名称")
    private String name;

    @Schema(description = "排序")
    private Integer sort;

    @Schema(description = "祖先列表")
    private String ancestors;

    @Schema(description = "部门负责人")
    private String leader;

    @Schema(description = "联系电话")
    private String phone;

    @Schema(description = "邮箱")
    private String email;

    @Schema(description = "是否启用：true启用 false未启用")
    private Boolean enabled;

}